/*
 *  hellApp.h
 *  touchhell
 *
 *  Created by omega on 08/12/21.
 *  Copyright 2008 __MyCompanyName__. All rights reserved.
 *
 */

#define HELL_FRAME_INTERVAL				(1.0/30.0)
#define HELL_ACCELEROMETER_INTERVAL		(1.0/1.0)
#define HELL_ACCELEROMETER_FILTER		(0.95)
#define HELL_TOUCHEVENT_MAX				8

#import "touchHell.h"

//-----------------------------------------------
// touchHell main functions
//-----------------------------------------------
//  これらをオーバーライドして実装する
void Hell_initLoad();
void Hell_update();
void Hell_draw();
void Hell_terminate();

// タッチイベント
// それぞれイベント発生時に、呼び出される
void Hell_callbackTouchBegan( Hell_TouchEvent* touchevents , int eventCount );
void Hell_callbackTouchMoved( Hell_TouchEvent* touchevents , int eventCount );
void Hell_callbackTouchEnded( Hell_TouchEvent* touchevents , int eventCount );

// フォーカス
void Hell_resignActive();
void Hell_becomeActive();

//-----------------------------------------------
// リソース
//-----------------------------------------------
// テクスチャの列挙
typedef enum{
	HELL_TEXTURE_FONT = 0,
	HELL_TEXTURE_FONTLARGE ,
	HELL_TEXTURE_FONTBOX,
	HELL_TEXTURE_BOX,
	HELL_TEXTURE_BACKGOUND,
	HELL_TEXTURE_MAX
} Hell_Texture;

// 音の列挙
typedef enum{
	HELL_SOUND_DROP = 0,
	HELL_SOUND_FIRE,
	HELL_SOUND_MAX,
} Hell_Sound;

// フォント
typedef enum{
	HELL_FONTPARAM_DEFAULT = 0,
	HELL_FONTPARAM_LARGE ,
	HELL_FONTPARAM_BOX,
	HELL_FONTPARAM_MAX
} Hell_FontParam;
extern TextureFontParam fontparam[];

//-----------------------------------------------
// 状態遷移管理
//-----------------------------------------------
typedef enum{
	MAINSTATE_NONE = 0,
	MAINSTATE_TITLE,
	MAINSTATE_GAME,
} MainState;

void MainState_setNextState( MainState next_mainstate );
